package com.itheima.rule;

import com.netflix.client.config.IClientConfig;
import com.netflix.loadbalancer.AbstractLoadBalancerRule;
import com.netflix.loadbalancer.ILoadBalancer;
import com.netflix.loadbalancer.Server;

import java.util.List;

/**
 * @Author：shenkunlin
 * @date： 2021/7/12 11:20
 * @Description：
 ***/
public class ZeroRule extends AbstractLoadBalancerRule {

    /***
     * 配置初始化
     * @param clientConfig
     */
    @Override
    public void initWithNiwsConfig(IClientConfig clientConfig) {
    }

    /**
     * 负载均衡算法，选择一个服务
     * @param key
     * @return
     */
    @Override
    public Server choose(Object key) {
        //获取服务集合
        ILoadBalancer loadBalancer = getLoadBalancer();
        List<Server> allServers = loadBalancer.getAllServers();
        //获取第1个
        return allServers.get(0);
    }
}
